package com.sciencep.pro.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @author Sciencep
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class UserWorkdailyLog extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableField("userId")
    private String userId;

    /**
     * 用户姓名
     */
    @TableField("userName")
    private String userName;

    /**
     * 所属部门
     */
    @TableField("userDept")
    private String userDept;

    /**
     * 部门名称
     */
    @TableField("deptName")
    private String deptName;

    /**
     * 项目编号
     */
    @TableField("proNo")
    private String proNo;

    /**
     * 项目名称
     */
    @TableField("proName")
    private String proName;

    /**
     * 项目节点ID
     */
    @TableField("nodeId")
    private Long nodeId;

    /**
     * 项目节点名称
     */
    @TableField("nodeName")
    private String nodeName;

    /**
     * 项目角色ID
     */
    @TableField("proroleId")
    private Long proroleId;

    /**
     * 开发节点
     */
    @TableField("devPoint")
    private String devPoint;

    /**
     * 工作日期
     */
    @TableField("workDate")
    private Date workDate;

    /**
     * 投入人天
     */
    @TableField("putinDaily")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal putinDaily;

    /**
     * 绩效人天
     */
    @TableField("performanceDaily")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal performanceDaily;

    /**
     * 今日工作
     */
    @TableField("dailyLog")
    private String dailyLog;

    /**
     * 备注
     */
    private String remark;

    /**
     * 明日计划
     */
    @TableField("tomorrowPlan")
    private String tomorrowPlan;

    /**
     * 日志模版名称
     */
    @TableField("templateName")
    private String templateName;

    /**
     * 日志提交时间
     */
    @TableField("submitTime")
    private Date submitTime;

    /**
     * 评审状态
     */
    @TableField("reviewStatus")
    private String reviewStatus;

    /**
     * 评审时间
     */
    @TableField("reviewTime")
    private Date reviewTime;

    /**
     * 评审人
     */
    @TableField("reviewName")
    private String reviewName;


    private transient String year;
    private transient String month;
    private transient String day;


}
